Example embodiments relate to nonvolatile memory devices. More particularly, example embodiments relate to methods of programming multi-level cells of nonvolatile memory devices.
Memory cells of a nonvolatile memory device, such as a flash memory device, may be classified as either single level cells (SLCs) that store one bit of data per memory cell or multi-level cells (MLCs) that store more than one bit of data per memory cell. In the case of MLCs, multiple bits of data may be stored by using multiple threshold voltage distributions to represent different logic states of multi-bit data. For example, two-bit MLCs may use four threshold voltage distributions to represent respective logical states “11”, “10”, “01” and “00”.
To ensure accurate storage of the multi-bit data, the threshold voltage distributions of the MLCs must be separated by adequate sensing margins (or read margins). However, certain characteristic of newer flash memory devices, such as increasing integration density, may cause the threshold voltage distributions to widen due to electrical coupling between adjacent memory cells or a program disturb effect. This can result in reduced sensing margins which can adversely impact device reliability.